import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import TypeNav from '@/components/TypeNav'
import Carousel from '@/components/Carousel'
import Pagination from '@/components/Pagination'
// 按需引入elementUi
import { MessageBox } from 'element-ui'
// 引入mockServe.js---mock数据
import '@/mock/mockServe'
// 全局引入swiper样式
import 'swiper/css/swiper.css'
// 统一引入API
import * as API from '@/api'

// 引入图片懒加载插件
import luori from '@/assets/1.webp'
import VueLazyload from 'vue-lazyload'

// 引入自定义插件
import myPlugin from '@/plugins/myPlugin'

// 引入表单验证插件
import '@/plugins/validate'
Vue.use(VueLazyload, {
  // 默认展示的图片
  loading: luori
})
Vue.use(myPlugin, {
  name: 'upper'
})

// import { reqTypeNav, reqDetailList } from '@/api'

// 三级联动组件-- - 多出使用需要注册为全局组件
// 参数一： 全局组件的名称 参数二： 哪一个组件
Vue.component(TypeNav.name, TypeNav)
// 轮播图组件
Vue.component(Carousel.name, Carousel)
// 分页器组件
Vue.component(Pagination.name, Pagination)

// elementUi 注册组件
Vue.prototype.$msgbox = MessageBox
Vue.prototype.$alert = MessageBox.alert

// // 测试接口
// reqTypeNav()
// reqDetailList()

Vue.config.productionTip = false
new Vue({
  // 配置全局事件总线
  beforeCreate() {
    Vue.prototype.$bus = this
    Vue.prototype.$API = API
  },
  router,
  store,
  render: (h) => h(App)
}).$mount('#app')
